home *** CD-ROM | disk | FTP | other *** search
- %%
- %% This is file `feynmf.sty', generated
- %% on <1995/3/4> with the docstrip utility (2.2i).
- %%
- %% The original source files were:
- %%
- %% feynmf.dtx (with options: `style')
- %%
- %% Copyright (C) 1989, 1990, 1992-1995 by Thorsten.Ohl@Physik.TH-Darmstadt.de
- %%
- %% This file is NOT the source for feynmf, because almost all comments
- %% have been stripped from it. It is NOT the preferred form of feynmf
- %% for making modifications to it.
- %%
- %% Therefore you can NOT redistribute and/or modify THIS file. You can
- %% however redistribute the complete source (feynmf.dtx and feynmf.ins)
- %% and/or modify it under the terms of the GNU General Public License as
- %% published by the Free Software Foundation; either version 2, or (at
- %% your option) any later version.
- %%
- %% Feynmf is distributed in the hope that it will be useful, but
- %% WITHOUT ANY WARRANTY; without even the implied warranty of
- %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- %% GNU General Public License for more details.
- %%
- %% You should have received a copy of the GNU General Public License
- %% along with this program; if not, write to the Free Software
- %% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- %%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %% \CheckSum{553}
- %% \CharacterTable
- %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
- %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
- %% Digits \0\1\2\3\4\5\6\7\8\9
- %% Exclamation \! Double quote \" Hash (number) \#
- %% Dollar \$ Percent \% Ampersand \&
- %% Acute accent \' Left paren \( Right paren \)
- %% Asterisk \* Plus \+ Comma \,
- %% Minus \- Point \. Solidus \/
- %% Colon \: Semicolon \; Less than \<
- %% Equals \= Greater than \> Question mark \?
- %% Commercial at \@ Left bracket \[ Backslash \\
- %% Right bracket \] Circumflex \^ Underscore \_
- %% Grave accent \` Left brace \{ Vertical bar \|
- %% Right brace \} Tilde \~}
- %%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \NeedsTeXFormat{LaTeX2e}
- {\def\RCS#1#2\endRCS{%
- \ifx$#1%
- \@RCS $#2 \endRCS
- \else
- \@RCS $*: #1#2$ \endRCS
- \fi}%
- \def\@RCS $#1: #2,v #3 #4 #5 #6$ \endRCS{%
- \gdef\filename{#2}%
- \gdef\fileversion{v#3}%
- \gdef\filedate{#4}%
- \gdef\docdate{#4}}%
- \RCS feynmf.dtx,v 1.10 1995/02/18 16:42:18 ohl Exp \endRCS}%
- \ProvidesPackage{feynmf}[\filedate\space LaTeX2e package]
- \typeout{Package: `feynmf'
- \fileversion\space <\filedate> (tho) PRELIMINARY TEST RELEASE}
- \wlog{English documentation \@spaces<\docdate> (tho)}
- \let\mdqrestore\relax
- \@ifundefined{mdqoff}{}{%
- \mdqoff
- \let\mdqrestore\mdqon}
- \newwrite\@outfmf
- \def\fmfcmd#1{%
- \immediate\write\@outfmf{#1}\ignorespaces}
- {\catcode`\%=11\gdef\p@rcent{%}}
- \edef\fmf@fileversion{\fileversion}
- \def\fmffile#1{%
- \def\thefmffile{#1}%
- \equaltojobname{\thefmffile}{%
- \errhelp={The argument of \fmffile MUST NOT be identical to the^^J%
- name of your main input file! I will use fmfdefault.mf^^J%
- this time around, but you'd better fix your code now!}%
- \errmessage{Invalid arument of \string\fmffile!}%
- \def\thefmffile{fmfdefault}}{}%
- \immediate\openout\@outfmf=\thefmffile.mf\relax
- \fmfcmd{\p@rcent\space \thefmffile.mf -- do not edit, %
- generated automatically by \jobname.tex^^J%
- input feynmf^^J%
- require_RCS_revision "\expandafter\@gobble\fmf@fileversion";}%
- \batchmode
- \font\f@ynmf=\thefmffile
- \errorstopmode
- \ifx\f@ynmf\nullfont
- \def\f@ynmf{feynmf character:}%
- \typeout{%
- feynmf: File \thefmffile.tfm not found:^^J%
- feynmf: Process \thefmffile.mf with METAFONT and then %
- reprocess this file.}%
- \else
- \typeout{%
- feynmf: File \thefmffile.tfm found.^^J%
- feynmf: Nevertheless, if the picture has changed, %
- reprocess \thefmffile.mf.^^J%
- feynmf: If dimension have changed, reprocess \thefmffile.mf %
- and \jobname.tex.}%
- \fi
- \setcounter{fmfchar}{0}}
- \let\thefmffile\relax
- \newcounter{fmfchar}
- \def\equaltojobname#1#2#3{%
- \edef\@tempa{#1}%
- \edef\@tempa{\meaning\@tempa}%
- \edef\@tempb{\jobname}%
- \edef\@tempb{\meaning\@tempb}%
- \ifx\@tempa\@tempb
- #2
- \else
- #3
- \fi}
- \def\endfmffile{%
- \fmfcmd{\p@rcent\space the end.^^J%
- end.^^J%
- endinput;}%
- \let\thefmffile\relax
- \immediate\closeout\@outfmf}
- {\catcode`\#=11\gdef\sh@rp{#}}
- \def\fmf@char#1#2{%
- \ifx\thefmffile\relax
- \errhelp={Outside a fmffile environment, I have no clue as to where^^J%
- the METAFONT commands should go. I will use fmfdefault.mf^^J%
- for this character, but you'd better fix your code!}%
- \errmessage{I detected a fmfchar environment outside of fmffile}%
- \fmffile{fmfdefault}
- \fi
- \global\expandafter\advance\csname c@fmfchar\endcsname \@ne
- \fmfcmd{beginchar(\thefmfchar, #1*\the\unitlength\sh@rp, %
- #2*\the\unitlength\sh@rp, 0);^^J%
- "feynmf: \thefmfchar";}%
- \fmfcmd{LaTeX_unitlength:=\the\unitlength;}%
- \fmfinit
- \fmfpen{thin}}
- \def\fmfchar(#1,#2){%
- \fmf@char{#1}{#2}%
- {\f@ynmf \char\value{fmfchar}}%
- \ignorespaces}
- \def\endfmfchar{%
- \fmfposition
- \fmfdraw
- \fmfcmd{endchar;}}
- \@namedef{fmfchar*}(#1,#2){%
- \begin{picture}(#1,#2)
- \fmf@char{#1}{#2}%
- {\catcode`\%=14\relax
- \grepfile{%
- \thefmffile.\thefmfchar}{%
- \thefmffile.log}{%
- \thefmffile.t\thefmfchar}}%
- \put(0,0){{\f@ynmf \char\value{fmfchar}}}%
- \ignorespaces}
- \@namedef{endfmfchar*}{%
- \endfmfchar
- {\catcode`\%=14\relax
- \InputIfFileExists{\thefmffile.t\thefmfchar}{}{%
- \typeout{%
- feynmf: Label file \thefmffile.t\thefmfchar\space not found:^^J%
- feynmf: Process \thefmffile.mf with METAFONT and then %
- reprocess this file.}}}%
- \end{picture}}
- \def\fmfframe(#1,#2)(#3,#4)#5{%
- \leavevmode
- \hbox{\vbox{\vskip#2\unitlength\par
- \hbox{\hskip#1\unitlength#5\hskip#3\unitlength}\par
- \vskip#4\unitlength}}}
- \def\fmfpen#1{\fmfcmd{pickup pencircle scaled #1;}}
- \def\grepfile#1#2#3{%
- \begingroup
- \edef\pattern{\csname*grep*#1*\endcsname}%
- \immediate\openin\grep@infile #2\relax
- \ifeof\grep@infile
- \else
- \grep@outopenfalse
- \endlinechar=-1
- \catcode`\\=12\relax
- \loop
- \read\grep@infile to \grep@lbuf
- \ifeof\grep@infile
- \grep@contfalse
- \else
- \grep@conttrue
- \ifx\grep@lbuf\empty
- \else
- \expandafter\grep@aline\grep@lbuf\sentinel
- \ifx\pattern\grep@tag
- \ifgrep@outopen
- \else
- \immediate\openout\grep@outfile #3\relax
- \immediate\write\grep@outfile{\p@rcent\space #3 %
- -- generated automatically from #2}%
- \immediate\write\grep@outfile{\p@rcent\space
- Think twice before editing THIS file!}%
- \grep@outopentrue
- \fi
- \immediate\write\grep@outfile{\grep@val}%
- \fi
- \fi
- \fi
- \ifgrep@cont
- \repeat
- \ifgrep@outopen
- \immediate\closeout\grep@outfile
- \fi
- \fi
- \immediate\closein\grep@infile
- \endgroup}
- \newread\grep@infile
- \newwrite\grep@outfile
- \newif\ifgrep@cont
- \newif\ifgrep@outopen
- \def\grep@aline#1#2\sentinel{%
- \ifx:#1%
- \grep@splitlbuf#2\sentinel
- \else
- \edef\grep@tag{\csname*grep*\endcsname}%
- \def\grep@val{}%
- \fi}
- \def\grep@splitlbuf#1:#2\sentinel{%
- \edef\grep@tag{\csname*grep*#1*\endcsname}%
- \def\grep@val{#2}}
- \def\fmfwizard{\fmfcmd{feynmfwizard := true;}}
- \def\fmfnowizard{\fmfcmd{feynmfwizard := false;}}
- \def\fmfshrink#1{\fmfcmd{shrink (#1);}}
- \def\endfmfshrink{\fmfcmd{endshrink;}}
- \def\fmfinit{\fmfcmd{vinit;}}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \def\fmf#1#2{\fmfcmd{vconnect ("#1", #2);}}
- \def\fmfcyclen#1#2#3{\fmfcmd{vcyclen ("#1", #2, #3);}}
- \def\fmfrcyclen#1#2#3{\fmfcmd{vrcyclen ("#1", #2, #3);}}
- \def\fmfforce#1#2{\fmfcmd{vforce ((#1),#2);}}
- \def\fmfshift#1#2{\fmfcmd{vshift((#1),#2);}}
- \def\fmffixed#1#2{\fmfcmd{vconstraint ((#1), #2);}}
- \def\fmflabel#1#2{\fmfcmd{vlabel ("#1", #2);}}
- \def\fmfv#1#2{\fmfcmd{vvertex ("#1", #2);}}
- \def\fmfvn#1#2#3{\fmfcmd{vvertexn ("#1", #2, #3);}}
- \def\fmfblob#1#2{\fmfcmd{vblob ((#1),#2);}}
- \def\fmfdot#1{\fmfcmd{vdot (#1);}}
- \def\fmfblobn#1#2{\fmfcmd{vblobn (#1, #2);}}
- \def\fmfdotn#1#2{\fmfcmd{vdotn (#1, #2);}}
- \def\fmfleft#1{\fmfcmd{vleft(#1);}}
- \def\fmfright#1{\fmfcmd{vright(#1);}}
- \def\fmfbottom#1{\fmfcmd{vbottom(#1);}}
- \def\fmftop#1{\fmfcmd{vtop(#1);}}
- \let\fmfincoming\fmfleft
- \let\fmfoutgoing\fmfright
- \def\fmfsurround#1{\fmfcmd{vsurround(#1);}}
- \def\fmfleftn#1#2{\fmfcmd{vleftn(#1,#2);}}
- \def\fmfrightn#1#2{\fmfcmd{vrightn(#1,#2);}}
- \def\fmfbottomn#1#2{\fmfcmd{vbottomn(#1,#2);}}
- \def\fmftopn#1#2{\fmfcmd{vtopn(#1,#2);}}
- \let\fmfincomingn\fmfleftn
- \let\fmfoutgoingn\fmfrightn
- \def\fmfsurroundn#1#2{\fmfcmd{vsurroundn(#1,#2);}}
- \def\fmffor#1#2#3#4{\fmfcmd{for #1 = #2 step #3 until #4:}}
- \def\endfmffor{\fmfcmd{endfor}}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \def\fmfposition{\fmfcmd{vposition;}}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \def\fmfdraw{\fmfcmd{vdraw;}}
- \def\fmfL(#1,#2,#3)#4{\put(#1,#2){\makebox(0,0)[#3]{#4}}}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \def\fmfdisplay{\fmfcmd{show_all_diagrams (100,100);}}
- \def\fmfstopdisplay{\fmfcmd{showstopping:=1;}\fmfdisplay}
- \mdqrestore
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \endinput
- %%
- %% End of file `feynmf.sty'.
-